// pages/my/my.js
const {
  get
} = require('../../utils/api.js')
const url = require('../../utils/url.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    getUserInfoCounts:{},//获取用户信息数量统计
    dialogvalue:false,  //判断用户是否选择类型
    code:'',
    iv:'',
    encryptedData:'',
    rawData:'',
    sessionKey:'',
    signature:'',
    userinfo:{},//用户信息
    types:1,
  },

  // 会员充值
  vipTop:function(){
    wx.navigateTo({
      url: '/pages/vipTop/vipTop'
    })
  },

  shoulogin:function(){
    wx.navigateTo({
      url: '/pages/login/login'
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },
  

  // 用户授权登录
  getUserProfile(e) {
    var that = this;
    var code;
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        that.setData({
          iv: res.iv,
          encryptedData: res.encryptedData,
          signature:res.signature,
          rawData:res.rawData,
          userinfo: res.userInfo
        })
        // 获取到用户的信息了，打印到控制台上看下
        wx.login({
          success(res) {
            code = res.code
            that.setData({
              code: res.code
            })
            if (res.code) {
              wx: wx.request({
                url:url.authorization,
                data: {
                  code: res.code
                },
                header: {
                  'content-type': "application/json",// 改变默认值为这个配置
                },
                method: 'get',
                dataType: 'json',
                responseType: 'text',
                success: function (res) {
                  console.log(res);
                  if(res.data.code == 506){
                    wx.showToast({ title: res.data.msg, icon: 'none', duration: 2000 })
                    wx.navigateBack({
                      delta: 2
                    })
                  }
                  if(res.data.code == 200){
                    wx.setStorageSync("token", res.data.token)
                    that.getUserInfo();//获取用户信息接口
                    that.getUserInfoCount(); //获取用户信息数量统计
                  }
                  wx.setStorageSync("token", res.data.token)
                  wx: wx.request({
                    url: url.login,
                    data: {
                      encryptedData:that.data.encryptedData,
                      iv:that.data.iv,
                      rawData:that.data.rawData,
                      sessionKey:res.data.session.sessionKey,
                      signature:that.data.signature,
                      code: that.data.code,
                      openId:res.data.session.openid,
                    },
                    header: {
                      'content-type': "application/json",// 改变默认值为这个配置
                    },
                    method: 'get',
                    dataType: 'json',
                    responseType: 'text',
                    success: function (res) {
                      wx.setStorageSync("token", res.data.token)
                      if(res.data.code == 200){
                        that.getUserInfo();//获取用户信息接口
                        that.getUserInfoCount(); //获取用户信息数量统计
                      }
                      if(res.data.code == 503){
                        wx.setStorageSync("token", res.data.token)
                        that.setData({
                          dialogvalue:true
                        })
                      }
                    },
                  })
                },
              })
           
            } else {
              console.log('登录失败！' + res.errMsg)
            }
          }
        })

      }
    })
  },

  // 获取用户信息数量统计
  getUserInfoCount:function(){
    var that = this;
    wx.request({
      url: getApp().url.dev + '/api/user/getUserInfoCount', //这里就写上后台解析手机号的接口
      //这里的几个参数是获取授权后的加密数据，作为参数传递给后台就行了
      data: {
        userId:'',
      },
      method: 'get',
      header: {
        'content-type': 'application/x-www-form-urlencoded',
         'token': wx.getStorageSync("token"),
      },
      success(res) {
        // console.log(res);
        if(res.data.code == 200){
          that.setData({
            getUserInfoCounts:res.data.data
          })
        }
      }
    })
  },

    // 获取用户信息
    getUserInfo:function(){
      var that = this;
      wx.request({
        url: getApp().url.dev + '/api/user/getUserInfo', //这里就写上后台解析手机号的接口
        //这里的几个参数是获取授权后的加密数据，作为参数传递给后台就行了
        data: {},
        method: 'get',
        header: {
          'content-type': 'application/x-www-form-urlencoded',
           'token': wx.getStorageSync("token"),
        },
        success(res) {
          console.log(res);
          //隐藏导航条加载动画
          wx.hideNavigationBarLoading();
          //停止下拉刷新
          wx.stopPullDownRefresh();
          if(res.data.code == 506){
            wx.showToast({ title: res.data.msg, icon: 'none', duration: 2000 })
          }
          
          if(res.data.code == 200){
            that.setData({
              types:1,
              userinfo:res.data.data
            })
            if(!res.data.data.userType){
              that.setData({
                dialogvalue:true
              })
            }
          }else{
            that.setData({
              types:2
            })
          }
        }
      })
    }, 

  // 确认用户账户类型
  activetype:function(e){
    var that = this;
    console.log(e.currentTarget.dataset.type);
    wx.request({
      url: getApp().url.dev + '/api/user/confirmUserType', //这里就写上后台解析手机号的接口
      //这里的几个参数是获取授权后的加密数据，作为参数传递给后台就行了
      data: {
        userType:e.currentTarget.dataset.type
      },
      method: 'get',
      header: {
        'content-type': 'application/x-www-form-urlencoded',
         'token': wx.getStorageSync("token"),
      },
      success(res) {
        that.setData({
          dialogvalue:false
        })
        that.getUserInfo(); //获取用户信息
      }
    })
  }, 
  


  //签到
  sginin() {
    wx.navigateTo({
      url: '/pages/signin/signin',
    })
  },
  //借入申请
  borrowapply_list(e) {
    var title = e.currentTarget.dataset.title;
    var type = e.currentTarget.dataset.type;
    wx.navigateTo({
      url: '/pages/borrowapply_list/borrowapply_list?title='+title+'&type=' + type +'&userid='+'',
    })
  },

  //待借书籍
  waitlendbooks() {
    wx.navigateTo({
      url: '/pages/waitlendbooks/waitlendbooks',
    })
  },
  //已借入书
  waitmereturn() {
    wx.navigateTo({
      url: '/pages/waitmereturn/waitmereturn',
    })
  },
  //已借出书
  nowlending() {
    wx.navigateTo({
      url: '/pages/nowlending/nowlending',
    })
  },
  //书包管理
  bookbagmanage() {
    wx.navigateTo({
      url: '/pages/bookbagmanage/bookbagmanage',
    })
  },
  //借入记录
  borrowrecord(e) {
    // console.log(e);
    var type = e.currentTarget.dataset.type
    var title = e.currentTarget.dataset.title
    wx.navigateTo({
      url: '/pages/borrowrecord/borrowrecord?type='+type +'&title='+title,
    })
  },
  //借出记录
  lendingrecord() {
    wx.navigateTo({
      url: '/pages/lendingrecord/lendingrecord',
    })
  },
  // 我的好友
  myGoodFriend: function () {
    wx.navigateTo({
      url: '../myGoodFriend/myGoodFriend',
    })
  },
  // 隐私设置
  privacySetting: function () {
    wx.navigateTo({
      url: '../privacySetting/privacySetting',
    })
  },
  //关于小莹借书
  aboutxiaoying() {
    wx.navigateTo({
      url: '/pages/aboutxiaoying/aboutxiaoying',
    })
  },
  // 我的勋章
  MyMedal: function () {
    wx.navigateTo({
      url: '../MyMedal/MyMedal',
    })
  },

  // 我的群组
  Mygroup: function () {
    wx.navigateTo({
      url: '../Mygroup/Mygroup?userinfo='+JSON.stringify(this.data.userinfo),
    })
  },
  //邀请好友
  invitatefriends() {
    wx.navigateTo({
      url: '/pages/invitatefriends/invitatefriends?userinfo='+JSON.stringify(this.data.userinfo),
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getUserInfo();//获取用户信息
    this.getUserInfoCount(); //获取用户信息数量统计
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    wx.showNavigationBarLoading();
    this.getUserInfo();//获取用户信息
    this.getUserInfoCount(); //获取用户信息数量统计
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})